package com.ruoyi.post.mapper;


import com.ruoyi.experiment.domain.Experiment;
import com.ruoyi.post.domain.CanDo;
import com.ruoyi.post.domain.JobInformation;
import com.ruoyi.post.model.BriefPost;
import com.ruoyi.post.model.EJob;
import com.ruoyi.post.model.PExperiment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 岗位信息Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-09
 */
public interface JobInformationMapper
{
    /**
     * 查询岗位信息
     * @param jobId 岗位信息主键
     * @return 岗位信息
     */
    public JobInformation selectJobInformationByJobId(Long jobId);

    /**
     * 查询岗位信息列表
     * @param jobInformation 岗位信息
     * @return 岗位信息集合
     */
    public List<JobInformation> selectJobInformationList(JobInformation jobInformation);

    /**
     * 新增岗位信息
     * @param jobInformation 岗位信息
     * @return 结果
     */
    public int insertJobInformation(JobInformation jobInformation);

    /**
     * 修改岗位信息
     * @param jobInformation 岗位信息
     * @return 结果
     */
    public int updateJobInformation(JobInformation jobInformation);

    /**
     * 删除岗位信息
     * @param jobId 岗位信息主键
     * @return 结果
     */
    public int deleteJobInformationByJobId(Integer jobId);

    /**
     * 批量删除岗位信息
     * @param jobIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJobInformationByJobIds(Integer[] jobIds);

    int deleteCanDoById(Integer jobId);

    List<CanDo> selectCanDo(CanDo canDo);

    Integer insertCanDo(CanDo canDo);

    Integer updateCanDo(CanDo canDo);

    Integer deleteCanDo(Long id);

    List<BriefPost> selectList();

    List<EJob> selectExperimentTypes(Integer id);

    List<PExperiment> selectExperiments(Experiment experiment);

    int updateExperiment(Experiment experiment);

    int updateSampleConfirmStatusByExpId(@Param("status") int status,@Param("id") Long expid);

    List<PExperiment> selectManagerExperiments();

    List<BriefPost> selectPostByType(Integer type);

    int setJob(@Param("experimentId") Long experimentId,@Param("jobId") Integer jobId);
}

